package tpgrandt.varios;

import java.util.Vector;

/**
 * @version 1.0
 * @created 19-Jan-2010 17:12:25
 */
public class EquipoFantasia {

    public static final int FECHAS = 19;

    private String nombre;
    private int puntos;
    private int posicion;
    private PlantelFecha[] planteles;

    public EquipoFantasia(String nombre, int puntos, int posicion) {
        this.nombre = nombre;
        this.puntos = puntos;
        this.posicion = posicion;
        planteles = null;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public int getPosicion() {
        return posicion;
    }

    public void setPosicion(int posicion) {
	this.posicion = posicion;
    }

    public int getPuntos() {
        return puntos;
    }

    public void setPuntos(int puntos) {
        this.puntos = puntos;
    }

    @SuppressWarnings("empty-statement")
    public PlantelFecha agregarNuevoPlantel(){
        int i=1;
        for(; i<planteles.length && planteles[i] == null ;i++);
        for(; i<planteles.length && planteles[i] != null ;i++);
        planteles[i] = new PlantelFecha (i);
        planteles[i].setPuntos(0);
        planteles[i].setCotizacion(planteles[i - 1].getCotizacion());
        Integrante integ[] = PlantelFecha.clonar(planteles[i - 1].getIntegrantes());
        for (int j = 1; j < integ.length; j++) {
            integ[j].setFecha(i);
        }
        planteles[i].setPlantel(integ);
	return planteles[i];
    }

    /**
     *
     * @param fecha
     */
    public void agregarPlantel(int fecha) {
        if(planteles == null)
            planteles = new PlantelFecha[FECHAS + 1];
        planteles[fecha] = new PlantelFecha(fecha);
    }


    public int[] listarFechas() {
        Vector<Integer> aux = new Vector<Integer>();
        for(int i = FECHAS; i >= 1; i--)
            if(planteles[i] != null)
                aux.add(i);
        
        int fechas[] = new int[aux.size()];
        for(int j = 0; j < aux.size(); j++)
            fechas[j] = aux.elementAt(j);
     
        //int fechas[] = {1};
        return fechas;
    }

    public PlantelFecha ultimoPlantel(){
		if (planteles == null)
                    return null;

                int i = 0;
                while (planteles[i] == null && i < FECHAS + 1)
                    i++;

                while (planteles[i] != null && i < FECHAS + 1)
                    i++;

                return planteles[i - 1];
	}

    public PlantelFecha getPlantel(int fecha) {
		return planteles[fecha];
	}
}

